import 'package:equatable/equatable.dart';

import 'package:drm/base/login_result_entity.dart';
import 'package:drm/base/user.dart';


abstract class LoginState extends Equatable {
  LoginState([List props = const []]) : super(props);
}

class InitialLoginState extends LoginState {}

class LoginLoading extends LoginState {

}


class LoginSuccess extends LoginState {
  LoginResultEntity loginResultEntity ;

  LoginSuccess(this.loginResultEntity) :super([loginResultEntity]);
}

class LoginLoadingHide extends LoginState {

}


class LoginPassWordEditState extends LoginState {
  bool isShow;
  LoginPassWordEditState(this.isShow) : super([isShow]);
}

class LoginUserNameEditChanagedState extends LoginState {
  LoginUserNameEditChanagedState() : super();
}

class LoginCheckState extends LoginState {
  String nameError;
  String passwordError;

  LoginCheckState(this.nameError, this.passwordError):super([nameError,passwordError]);

}

class LoginSaveUserChangedState extends LoginState {
  bool isSaveUser = false;

  LoginSaveUserChangedState(this.isSaveUser):super([isSaveUser]);


}


class LoadLoaclUserState extends LoginState {
  User user;
  LoadLoaclUserState(this.user):super([user]);
}


class LoginSaveUserEventState extends LoginState {
  bool isSaveSuccess ;

  LoginSaveUserEventState(this.isSaveSuccess):super([isSaveSuccess]);

}


class NullLoginEventState extends LoginState {

}



